package vip.xiaonuo.invoice.core.adapter.dto.request;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import lombok.Getter;
import lombok.Setter;

/**
 * 发票冲红请求参数
 *
 * @author AI Assistant
 */
@Getter
@Setter
public class RedInvoiceRequestDtoOfShuZu extends RedInvoiceRequestDto {

    /**
     * 原发票ID
     */
    @Schema(description = "原发票号码")
    @NotBlank(message = "原发票号码不能为空")
    private String yfphm;

    /**
     * 原发票类型代码
     */
    @Schema(description = "原发票类型代码")
    @NotBlank(message = "原发票类型代码不能为空")
    private String yfplxdm;

    /**
     * 冲红原因代码
     */
    @Schema(description = "冲红原因代码")
    private String chyydm;


    /**
     * 合计金额
     */
    @Schema(description = "红字合计金额(不含税)")
    private String hzcxje;

    /**
     * 合计税额
     */
    @Schema(description = "红字合计税额")
    private String hzcxse;

    /**
     * 冲红税额
     */
    @Schema(description = "冲红税额")
    private String je;

    /**
     * 冲红税额
     */
    @Schema(description = "冲红税额")
    private String se;

    /**
     * 冲红税额
     */
    @Schema(description = "冲红税额")
    private String sl;

    /**
     * 销方税号
     */
    @Schema(description = "销方税号")
    private String xfsh;


    /**
     * 申请类型
     */
    @Schema(description = "申请类型(0-销方申请 1-购方申请)")
    private String sqly;

    /**
     * 特定要素类型代码
     */
    @Schema(description = "特定要素类型代码")
    private String tdyslxdm;

    /**
     * 原开票日期
     */
    @Schema(description = "原开票日期")
    private String ykprq;


}
